<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui">
<ui:composition template="../templates/layout.xhtml">
<ui:define name="title">Tabla Grupo Empresarial</ui:define>
<ui:define name="content">
    <p:spacer height="5px"/>
    <p:panel>
        <h:outputText value="Tabla Grupo Empresarial" styleClass="text_header_page"/>
    </p:panel>
    <p:spacer height="5px"/>
    <h:form id="frmPrincipal">
        <!-- Panel de búsqueda-->
        <p:panel id="panelBusqueda" header="Búsqueda de Grupo Empresarial">
            <h:panelGrid id="gridBusqueda" columns="9">
                <p:spacer width="13px"/>
                <h:outputLabel for="inputDescripcion" value="Descripción"/>
                <p:inputText id="inputDescripcion" value="#{maestroGrupoEmpresarialJsfBean.filtroBusqueda.nombre}"
                             size="25" maxlength="100"/>
            </h:panelGrid>
            <p:spacer height="3px"/>

            <p:spacer height="3px"/>
            <h:panelGrid id="gridBusqueda3" columns="3">
                <p:commandButton ajax="true" value="Buscar" id="btnBuscar"  icon="ui-icon-search"
                                 actionListener="#{maestroGrupoEmpresarialJsfBean.findAction}"
                                 update=":frmPrincipal:panelResultados :messages"/>
                <p:commandButton ajax="true" value="Limpiar" id="btnLimpiar"  icon="ui-icon-refresh"

                                 actionListener="#{maestroGrupoEmpresarialJsfBean.cleanAction}"
                                 update=":frmPrincipal:panelBusqueda :frmPrincipal:panelResultados :messages"/>
            </h:panelGrid>
        </p:panel>

        <p:spacer height="10px"/>

        <!-- Panel de resultados (donde está la tabla)  -->
        <p:panel id="panelResultados" header="Resultados">
            <p:toolbar >

                <p:toolbarGroup align="left">
                    <p:commandButton id="linkNuevo" value="Nuevo" ajax="true"
                                     actionListener="#{maestroGrupoEmpresarialJsfBean.showNewDialog}"
                                     oncomplete="wvCreateDialog.show()" update=":createDialog"/>
                    <p:commandButton id="editButton" value="Editar"
                                     actionListener="#{maestroGrupoEmpresarialJsfBean.showEditDialog}"
                                     update=":createDialog :messages">
                        <f:attribute name="tableName" value="tablaRegistros"/>
                        <f:attribute name="dialogName" value="wvCreateDialog"/>
                    </p:commandButton>
                    <p:commandButton id="deleteButton" value="Eliminar"
                                     actionListener="#{maestroGrupoEmpresarialJsfBean.showDeleteDialog}"
                                     update=":createDialog :messages">
                        <f:attribute name="tableName" value="tablaRegistros"/>
                        <f:attribute name="dialogName" value="wvDeleteDialog"/>
                    </p:commandButton>
                </p:toolbarGroup>
            </p:toolbar>


            <p:dataTable editable="true" id="tablaRegistros" value="#{maestroGrupoEmpresarialJsfBean.registros}"
                         var="registro" rowKey="#{registro.grupoEmpresarialId}" paginator="true" rows="25"
                         paginatorPosition="bottom"  emptyMessage="No existen registros"
                         selection="#{maestroGrupoEmpresarialJsfBean.nuevoRegistro}"
                         selectionMode="single"
                         paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                         rowsPerPageTemplate="5,10,25,50">
                <p:column style="text-align: left">
                    <f:facet name="header">
                        <h:outputText value="Nombre Grupo Empresarial"/>
                    </f:facet>
                    <h:outputText value="#{registro.nombre}"/>
                </p:column>
                <p:column style="text-align: left;width: 80px">
                    <f:facet name="header">
                        <h:outputText value="Creado Por"/>
                    </f:facet>
                    <h:outputText value="#{registro.creadoPor}"/>
                </p:column>
                <p:column style="text-align: left;width: 80px">
                    <f:facet name="header">
                        <h:outputText value="Fecha Creación"/>
                    </f:facet>
                    <h:outputText value="#{registro.fechaCreacion}">
                        <f:convertDateTime pattern="dd/MM/yyyy" timeZone="America/Lima" type="both"/>
                    </h:outputText>
                </p:column>
            </p:dataTable>
        </p:panel>
    </h:form>
</ui:define>

<ui:define name="modal">
    <p:dialog closeOnEscape="true" id="createDialog" header="Nuevo Grupo Empresarial" modal="true" onShow="upperInput();"
              widgetVar="wvCreateDialog" resizable="false" showEffect="fade" hideEffect="fade">

        <p:ajax event="close" update=":frmPrincipal:panelResultados :createDialog"
                listener="#{maestroGrupoEmpresarialJsfBean.handleDialogClose}"/>

        <p:panel id="NuevoRegistro">
            <h:form>
                <h:panelGrid id="gridBusquedaDialog" columns="3">

                    <h:outputLabel for="inputDescripcion" value="Descripción"/>
                    <p:inputText id="inputDescripcion" value="#{maestroGrupoEmpresarialJsfBean.nuevoRegistro.nombre}"
                                 size="50" maxlength="250"/>
                    <p:message for="inputDescripcion" display="text"/>

                </h:panelGrid>
                <p:spacer height="3px"/>
                <h:panelGrid id="gridBusqueda3Dialog" columns="2" styleClass="centered">
                    <p:commandButton ajax="true" value="Guardar" id="btnGuardar"
                                     actionListener="#{maestroGrupoEmpresarialJsfBean.persistAction}"
                                     update=":frmPrincipal:panelResultados :messages  :NuevoRegistro">
                        <f:attribute name="dialogName" value="wvCreateDialog"/>
                    </p:commandButton>
                    <p:commandButton ajax="true" value="Cancelar" id="btnCancelar" onclick="wvCreateDialog.hide()"
                                     type="button"
                                     immediate="true" process="@none"/>
                </h:panelGrid>
            </h:form>
        </p:panel>
    </p:dialog>
    <p:confirmDialog id="deleteDialog" widgetVar="wvDeleteDialog" message="#{messages.label_delete_record}"
                     appendToBody="true"
                     showEffect="fade" hideEffect="fade" header="#{messages.label_confirm_deletion}"
                     severity="alarm">
        <h:form id="deleteForm">
            <p:commandButton value="#{messages.label_yes}" actionListener="#{maestroGrupoEmpresarialJsfBean.deleteAction}"
                             update=":frmPrincipal:panelResultados :messages" style="text-align:center;"
                             oncomplete="wvDeleteDialog.hide()"/>
            <p:commandButton value="#{messages.label_no}" onclick="wvDeleteDialog.hide()" type="button"
                             style="text-align:center;"
                             immediate="true" process="@none"/>
        </h:form>
    </p:confirmDialog>
</ui:define>
</ui:composition>
</html>